package interfaces;

import java.util.LinkedList;

import javax.swing.DefaultListModel;

import todo.MyTask;

public interface ModelToDo {

	public LinkedList<MyTask> getTasklist();

	public void setTasklist(LinkedList<MyTask> tasklist);

	/**
	 * Fuegt der Liste einen Task hinzu
	 * 
	 * @param task
	 */
	public void addTask(MyTask task);

	/**
	 * Entfernt den uebergebenen Task aus der Liste
	 * 
	 * @param task
	 */
	public void removeTask(MyTask task);

	/**
	 * Beim Klick auf speichern wird getDate() aufgerufen, es werden alle
	 * Einstellungen ausgelesen und gesetzt
	 */
	public void setData();

	/**
	 * fuer Button oben der auf naechsten Task umschaltet
	 * 
	 * Ergaenzung: Falls letztes Listenelement button ausblenden, ausgrauen...
	 */

	public MyTask getNextTask(MyTask Task);

	/**
	 * fuer Button oben der auf vorherigen Task umschaltet
	 * 
	 * Ergaenzung: Falls erstes Listenelement button ausblenden
	 */

	public MyTask getPrevTask(MyTask Task);

	/**
	 * Erzeugt ein ein DefaultListModel aus der Taskliste
	 * 
	 * @return
	 */
	public DefaultListModel createTaskList();
}
